/*
  军团战：开赛！
  题目描述
    安东诺夫的公会开始了军团战的历程。
    《战舰世界》的军团战中，每位选手都可以选择一艘船只进入游戏并作战。
    但是本赛季推出了一个新规则：指定船只将被禁止使用。

    由于编写相关官方文章的英语编辑伏特加喝多了，文章中被禁用的船只名称大小写混乱。
    安东诺夫希望你把这些船只名称整理成统一规范的格式。船只名的第一个字符如果是字母要大写，其他字母小写。
  输入
    第一行一个数字 n，表示有 n 艘船只名要整理，n 不超过 100。
    接下来 n 行，每行一个单词，长度不超过 100，表示官方小编写的船只名。
      船只名由可能由字母，数字，-，. 和空格组成。
  输出
    n 行，每行一个单词，对应输入的船只名的规范写法。
  样例输入
    5
    MidWaY
    SaInT - Henry.IV
    u-2501
    yOdO
    HMS Malta
  样例输出
    Midway
    Saint - henry.iv
    U-2501
    Yodo
    Hms malta
  提示
    对于 50% 的数据，输入的船只名称中一定没有空格。
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;
    string a[105] = {};
    string s;

    /*
      特别注意:
        cin 属于 istream 流,  getline 属于 sting 流!
        当在代码中先用 cin, 后紧跟着用 getline() 时, 需要特别注意!
        如果输入变量后，直接回车，后面的 getline() 得到的字符串为空字符串!
          示例代码:
              int n;
              string s;
              cin >> n;
              getline(cin, s);
          输入:
              5
              MidWaY

          注意: 上例中的代码运行后，s 为空的string！
      由于在本例中遇到了 先用cin, 后面要用 getline的情况, 我们需要在 cin 后加入一个 getline() 来接受空的string!
    */
    cin >> n;
    getline(cin, s);

    for (int i = 1; i <= n; i++ ){
        getline(cin, a[i]);
        for (int j = 0; j < a[i].size(); j++) {
            if (j == 0) {
                if (a[i][0] >= 'a' && a[i][0] <= 'z') {
                    a[i][0] = a[i][0] - 32;
                }
            } else {
                if (a[i][j] >='A' && a[i][j] <= 'Z') {
                    a[i][j] = a[i][j] + 32;
                }
            }
        }
    }
    for (int i = 1; i <= n; i++) {
        cout << a[i] << endl;
    }

    return 0;
}